package com.mapper;

import com.bean.BookLike;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface BookLikeMapper {
    /**
     * 根据点赞 ID 获取书籍点赞信息
     * @param likeId 点赞 ID
     * @return 书籍点赞信息对象，如果未找到则返回 null
     */
    BookLike getBookLikeById(Integer likeId);

    /**
     * 分页模糊查询书籍点赞信息，可根据书籍标题、用户姓名等进行模糊匹配
     * @param keyword 模糊查询关键字，可匹配书籍标题、用户姓名等
     * @param offset 分页偏移量
     * @param limit 每页记录数
     * @return 符合条件的书籍点赞信息列表
     */
    List<BookLike> getBookLikesWithKeyword(String keyword, int offset, int limit);

    /**
     * 统计符合模糊查询条件的书籍点赞信息数量
     * @param keyword 模糊查询关键字，可匹配书籍标题、用户姓名等
     * @return 符合条件的书籍点赞信息数量
     */
    int countBookLikesWithKeyword(String keyword);

    /**
     * 插入新的书籍点赞信息
     * @param bookLike 书籍点赞信息对象
     * @return 插入操作影响的行数，成功插入返回 1，失败返回 0
     */
    int insertBookLike(BookLike bookLike);

    /**
     * 根据点赞 ID 删除书籍点赞信息
     * @param likeId 点赞 ID
     * @return 删除操作影响的行数，成功删除返回 1，失败返回 0
     */
    int deleteBookLikeById(Integer likeId);
}